--- src/IVtkVTK/IVtkVTK_ShapeData.cxx.orig	2018-05-29 11:14:02.000000000 +0100
+++ src/IVtkVTK/IVtkVTK_ShapeData.cxx	2018-05-31 14:07:39.166422383 +0100
@@ -81,9 +81,15 @@
   vtkIdType aPointIdVTK = thePointId;
   myPolyData->InsertNextCell (VTK_VERTEX, 1, &aPointIdVTK);
   const vtkIdType aShapeIDVTK = theShapeID;
+#if (VTK_MAJOR_VERSION < 7 ) || (VTK_MAJOR_VERSION == 7 && VTK_MINOR_VERSION == 0)
   mySubShapeIDs->InsertNextTupleValue (&aShapeIDVTK);
   const vtkIdType aType = theMeshType;
   myMeshTypes->InsertNextTupleValue (&aType);
+#else
+  mySubShapeIDs->InsertNextTypedTuple (&aShapeIDVTK);
+  const vtkIdType aType = theMeshType;
+  myMeshTypes->InsertNextTypedTuple (&aType);
+#endif
 }
 
 //================================================================
@@ -98,9 +104,15 @@
   vtkIdType aPoints[2] = { thePointId1, thePointId2 };
   myPolyData->InsertNextCell (VTK_LINE, 2, aPoints);
   const vtkIdType aShapeIDVTK = theShapeID;
+#if (VTK_MAJOR_VERSION < 7 ) || (VTK_MAJOR_VERSION == 7 && VTK_MINOR_VERSION == 0)
   mySubShapeIDs->InsertNextTupleValue (&aShapeIDVTK);
   const vtkIdType aType = theMeshType;
   myMeshTypes->InsertNextTupleValue (&aType);
+#else
+  mySubShapeIDs->InsertNextTypedTuple (&aShapeIDVTK);
+  const vtkIdType aType = theMeshType;
+  myMeshTypes->InsertNextTypedTuple (&aType);
+#endif
 }
 
 //================================================================
@@ -125,9 +137,15 @@
 
     myPolyData->InsertNextCell (VTK_POLY_LINE, anIdList);
     const vtkIdType aShapeIDVTK = theShapeID;
+#if (VTK_MAJOR_VERSION < 7 ) || (VTK_MAJOR_VERSION == 7 && VTK_MINOR_VERSION == 0)
     mySubShapeIDs->InsertNextTupleValue (&aShapeIDVTK);
     const vtkIdType aType = theMeshType;
     myMeshTypes->InsertNextTupleValue (&aType);
+#else
+    mySubShapeIDs->InsertNextTypedTuple (&aShapeIDVTK);
+    const vtkIdType aType = theMeshType;
+    myMeshTypes->InsertNextTypedTuple (&aType);
+#endif
   }
 }
 
@@ -144,7 +162,13 @@
   vtkIdType aPoints[3] = { thePointId1, thePointId2, thePointId3 };
   myPolyData->InsertNextCell (VTK_TRIANGLE, 3, aPoints);
   const vtkIdType aShapeIDVTK = theShapeID;
+#if (VTK_MAJOR_VERSION < 7 ) || (VTK_MAJOR_VERSION == 7 && VTK_MINOR_VERSION == 0)
   mySubShapeIDs->InsertNextTupleValue (&aShapeIDVTK);
   const vtkIdType aType = theMeshType;
   myMeshTypes->InsertNextTupleValue (&aType);
+#else
+  mySubShapeIDs->InsertNextTypedTuple (&aShapeIDVTK);
+  const vtkIdType aType = theMeshType;
+  myMeshTypes->InsertNextTypedTuple (&aType);
+#endif
 }
